home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 004 / morscode.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-09-29  |  4.0 KB  |  208 lines

  1. 1560  DIM C$(41), L$(26), N$(10), P$(5), A$(59), T(41),A(100,7),B(100,6)
  2. 1680  DATA A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z
  3. 1690  DATA "0","1","2","3","4","5","6","7","8","9"
  4. 1700  DATA "-", "/", ".", ",", "?"
  5. 1750  A=VAL(RIGHT$(TIME$,2))*VAL(MID$(TIME$,4,2))
  6. 1760  RANDOMIZE A
  7. 1780  FOR I=1 TO 26
  8. 1790  READ L$(I)
  9. 1800  NEXT I
  10. 1810  FOR I=1 TO 10
  11. 1820  READ N$(I)
  12. 1830  NEXT I
  13. 1840  FOR I=1 TO 5
  14. 1850  READ P$(I)
  15. 1860  NEXT I
  16. 1870  J=0:K=0
  17. 1890  GOSUB 5000
  18. 1930  PRINT"RANDOM CHARACTER GENERATOR READY"
  19. 1940  PRINT
  20. 1950  INPUT "DO YOU WANT TO INCLUDE LETTERS?  (Y/N)";R$
  21. 1960  IF R$="n" OR R$="N" THEN 2030
  22. 1980  FOR I=1 TO 26
  23. 1990  J=J+1
  24. 2000  K=K+1
  25. 2010  C$(J)=L$(K)
  26. 2020  NEXT I
  27. 2030  INPUT "DO YOU WANT TO INCLUDE NUMERALS?  (Y/N)";R$
  28. 2040  IF R$="N" OR R$="n" THEN 2120
  29. 2060  K=0
  30. 2070  FOR I=1 TO 10
  31. 2080  J=J+1
  32. 2090  K=K+1
  33. 2100  C$(J)=N$(K)
  34. 2110  NEXT I
  35. 2120  INPUT "DO YOU WANT TO INCLUDE PUNCTUATION?  (Y/N)";R$
  36. 2140  IF R$="N" OR R$="n" THEN 2250
  37. 2150  K=0
  38. 2160  FOR I=1 TO 5
  39. 2170  J=J+1
  40. 2180  K=K+1
  41. 2190  C$(J)=P$(K)
  42. 2200  NEXT I
  43. 2250  IF J>0 THEN 2290
  44. 2260  PRINT "NO CHARACTERS SELECTED"
  45. 2270  PRINT "PROGRAM TERMINATED"
  46. 2280  END
  47. 2290  FOR I=1 TO 10
  48. 2300  PRINT
  49. 2310  NEXT I
  50. 2350  PRINT TAB(19)"CHARACTER SET IN USE:"
  51. 2360  K=(59-J)/2
  52. 2370  FOR I=1 TO J
  53. 2380  L=I+K
  54. 2390  PRINT TAB(L)C$(I);
  55. 2400  NEXT I
  56. 2410  PRINT
  57. 2420  PRINT
  58. 2450  FOR I=6 TO 54 STEP 6
  59. 2460  A$(I)=" "
  60. 2470  NEXT I
  61. 2510  FOR I=1 TO J
  62. 2520  T(I)=0
  63. 2530  NEXT I
  64. 2550  FOR K=1 TO 15
  65. 2560  PRINT
  66. 2580  FOR L=1 TO 3
  67. 2590  M=0
  68. 2620  FOR I=1 TO 59
  69. 2630  M=M+1
  70. 2660  IF M<6 THEN 2710
  71. 2670  M=0
  72. 2680  GOTO 2820
  73. 2710  N=INT((J*RND)+0.5)
  74. 2720  IF N>0 THEN 2770
  75. 2730  N=J
  76. 2770  A$(I)=C$(N)
  77. 2810  T(N)=T(N)+1
  78. 2820  NEXT I
  79. 2850  FOR I=1 TO 59
  80. 2860  PRINT TAB(I)A$(I);
  81. 2865  GOSUB 5110
  82. 2870  NEXT I
  83. 2880  PRINT
  84. 2890  NEXT L
  85. 2900  NEXT K
  86. 2910  FOR I=1 TO 10
  87. 2920  PRINT
  88. 2930  NEXT I
  89. 2960  PRINT "NUMBER OF OCCURANCES OF EACH CHARACTER:"
  90. 2970  PRINT
  91. 2980  PRINT
  92. 2990  FOR I=1 TO J
  93. 3000  PRINT C$(I);TAB(4);T(I)
  94. 3010  NEXT I
  95. 3020  FOR I=1 TO 10
  96. 3030  PRINT
  97. 3040  NEXT I
  98. 3050  END
  99. 5000  FOR X=44 TO 90
  100. 5010  FOR Y=1 TO 7
  101. 5020  READ A(X,Y)
  102. 5030  NEXT Y
  103. 5040  NEXT X
  104. 5050  FOR X=44 TO 90
  105. 5060  FOR Y=1 TO 6
  106. 5070  READ B(X,Y)
  107. 5080  NEXT Y
  108. 5090  NEXT X
  109. 5100  RETURN
  110. 5110  FOR X=1 TO A(ASC(A$(I)),7)
  111. 5120  SOUND 1000,A(ASC(A$(I)),X):SOUND 30000,B(ASC(A$(I)),X)
  112. 5130  NEXT X
  113. 5140  RETURN
  114. 6000  DATA 3,3,1,1,3,3,6:',
  115. 6001  DATA 3,1,1,1,3,1,5:'-
  116. 6002  DATA 1,3,1,3,1,3,6:'.
  117. 6003  DATA 3,1,1,3,1,1,5:'/
  118. 6004  DATA 3,3,3,3,3,3,5:'0
  119. 6005  DATA 1,3,3,3,3,3,5:'1
  120. 6006  DATA 1,1,3,3,3,3,5:'2
  121. 6007  DATA 1,1,1,3,3,3,5:'3
  122. 6008  DATA 1,1,1,1,3,3,5:'4
  123. 6009  DATA 1,1,1,1,1,1,5:'5
  124. 6010  DATA 3,1,1,1,1,1,5:'6
  125. 6011  DATA 3,3,1,1,1,1,5:'7
  126. 6012  DATA 3,3,3,1,1,1,5:'8
  127. 6013  DATA 3,3,3,3,1,1,5:'9
  128. 6014  DATA 3,3,3,1,1,1,6:':
  129. 6015  DATA 3,1,3,1,3,1,6:';
  130. 6016  DATA 3,3,1,3,1,1,0:'<
  131. 6017  DATA 1,3,1,1,1,1,0:'=
  132. 6018  DATA 1,1,1,1,1,1,0:'>
  133. 6019  DATA 1,1,3,3,1,1,6:'?
  134. 6020  DATA 1,1,3,1,1,1,0:'@
  135. 6030  DATA 1,3,1,1,1,1,2:'A
  136. 6031  DATA 3,1,1,1,1,1,4:'B
  137. 6032  DATA 3,1,3,1,1,1,4:'C
  138. 6033  DATA 3,1,1,1,1,1,3:'D
  139. 6034  DATA 1,1,1,1,1,1,1:'E
  140. 6035  DATA 1,1,3,1,1,1,4:'F
  141. 6036  DATA 1,3,3,1,1,1,3:'G
  142. 6037  DATA 1,1,1,1,1,1,4:'H
  143. 6038  DATA 1,1,1,1,1,1,2:'I
  144. 6039  DATA 1,3,3,3,1,1,4:'J
  145. 6040  DATA 3,1,3,1,1,1,3:'K
  146. 6041  DATA 1,3,1,1,1,1,4:'L
  147. 6042  DATA 3,3,1,1,1,1,2:'M
  148. 6043  DATA 3,1,1,1,1,1,2:'N
  149. 6044  DATA 3,3,3,1,1,1,3:'O
  150. 6045  DATA 1,3,3,1,1,1,4:'P
  151. 6046  DATA 3,3,1,3,1,1,4:'Q
  152. 6047  DATA 1,3,1,1,1,1,3:'R
  153. 6048  DATA 1,1,1,1,1,1,3:'S
  154. 6049  DATA 3,1,1,1,1,1,1:'T
  155. 6050  DATA 1,1,3,1,1,1,3:'U
  156. 6051  DATA 1,1,1,3,1,1,4:'V
  157. 6052  DATA 1,3,3,1,1,1,3:'W
  158. 6053  DATA 3,1,1,3,1,1,4:'X
  159. 6054  DATA 3,1,3,3,1,1,4:'Y
  160. 6055  DATA 3,3,1,1,1,1,4:'Z
  161. 6071  DATA 1,1,1,1,1,3:',
  162. 6072  DATA 1,1,1,1,3,3:'-
  163. 6073  DATA 1,1,1,1,1,3:'.
  164. 6074  DATA 1,1,1,1,3,3:'/
  165. 6075  DATA 1,1,1,1,3,3:'0
  166. 6076  DATA 1,1,1,1,3,3:'1
  167. 6077  DATA 1,1,1,1,3,3:'2
  168. 6078  DATA 1,1,1,1,3,3:'3
  169. 6079  DATA 1,1,1,1,3,3:'4
  170. 6080  DATA 1,1,1,1,3,3:'5
  171. 6081  DATA 1,1,1,1,3,3:'6
  172. 6082  DATA 1,1,1,1,3,3:'7
  173. 6083  DATA 1,1,1,1,3,3:'8
  174. 6084  DATA 1,1,1,1,3,3:'9
  175. 6085  DATA 1,1,1,1,3,3:':
  176. 6086  DATA 1,1,1,1,3,3:':
  177. 6087  DATA 1,1,1,1,3,3:'<
  178. 6088  DATA 1,1,1,1,3,3:'=
  179. 6089  DATA 1,1,1,1,1,3:'>
  180. 6090  DATA 1,1,1,1,1,3:'?
  181. 6091  DATA 1,1,1,1,1,3:'@
  182. 6100  DATA 1,3,0,0,0,0:'A
  183. 6101  DATA 1,1,1,3,0,0:'B
  184. 6102  DATA 1,1,1,3,0,0:'C
  185. 6103  DATA 1,1,3,0,0,0:'D
  186. 6104  DATA 3,0,0,0,0,0:'E
  187. 6105  DATA 1,1,1,3,0,0:'F
  188. 6106  DATA 1,1,3,0,0,0:'G
  189. 6107  DATA 1,1,1,3,0,0:'H
  190. 6108  DATA 1,3,0,0,0,0:'I
  191. 6109  DATA 1,1,1,3,0,0:'J
  192. 6110  DATA 1,1,3,0,0,0:'K
  193. 6111  DATA 1,1,1,3,0,0:'L
  194. 6112  DATA 1,3,0,0,0,0:'M
  195. 6113  DATA 1,3,0,0,0,0:'N
  196. 6114  DATA 1,1,3,0,0,0:'O
  197. 6115  DATA 1,1,1,3,0,0:'P
  198. 6116  DATA 1,1,1,3,0,0:'Q
  199. 6117  DATA 1,1,3,0,0,0:'R
  200. 6118  DATA 1,1,3,0,0,0:'S
  201. 6119  DATA 3,0,0,0,0,0:'T
  202. 6120  DATA 1,1,3,0,0,0:'U
  203. 6121  DATA 1,1,1,3,0,0:'V
  204. 6122  DATA 1,1,3,0,0,0:'W
  205. 6123  DATA 1,1,1,3,0,0:'X
  206. 6124  DATA 1,1,1,3,0,0:'Y
  207. 6125  DATA 1,1,1,3,0,0:'Z
  208.